Skip to content
标签
资料
字数
690 字
阅读时间
3 分钟

简述

REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如web 应用程序。它首次出现在2000 年Roy Fielding 的博士论文中,他是HTTP 规范的主要编写者之一。在目前主流的三种Web 服务交互方案中,REST 相比于SOAP(Simple Object Access protocol,简单对象访问协议)以及XML-RPC 更加简单明了,无论是对URL 的处理还是对Payload 的编码,REST 都倾向于用更加简单轻量的方法设计和实现。值得注意的是REST 并没有一个明确的标准,而更像是一种设计的风格。

对应的中文是rest 式的;Restful web service 是一种常见的rest 的应用,是遵守了rest 风格的web 服务;rest 式的web 服务是一种ROA(The Resource-Oriented Architecture)(面向资源的架构).

Restful 特性

普通架构

每次请求的接口或者地址,都在做描述,例如查询的时候用了query,新增的时候用了save。如:

http://127.0.0.1/user/query/1 GET 根据用户id 查询用户数据

http://127.0.0.1/user/save POST 新增用户

Restful 架构

使用get 请求,就是查询.使用post 请求,就是新增的请求,意图明显,没有必要做描述,这就是restful。

http://127.0.0.1/user/1 GET 根据用户id 查询用户数据

http://127.0.0.1/user POST 新增用户

Restful 操作方式

HTTP 方法资源操作幂等性是否安全
GET查询
POST新增
PUT修改
DELETE删除

幂等性:多次访问,结果资源状态是否相同

安全:访问是否会变更服务器资源状态

响应状态码

编码HTTP 方法响应体内容描述
200get/put资源数据操作成功
201post源数据创建成功
202post/put/delete请求已接受
204delete/put请求已处理,无返回数据
301getlink 链接资源已被移除
303getlink重定向
304get资源没有被修改
400get/post/put/delete错误提示消息参数错误(缺少,格式错误等)
401get/post/put/delete错误提示消息未授权
403get/post/put/delete错误提示消息访问受限、授权过期
404get/post/put/delete错误提示消息资源、服务未找到
405get/post/put/delete错误提示消息不允许的 HTTP 方法
409get/post/put/delete错误提示消息资源冲突或资源被锁定
415get/post/put/delete错误提示消息不支持的数据类型或媒体类型
429get/post/put/delete错误提示消息请求过多被限制
500get/post/put/delete错误提示消息系统错误
501get/post/put/delete错误提示消息接口未实现